package com.example.yoho.mvp.contract;

import com.example.lib_core.mvp.model.IModel;
import com.example.lib_core.mvp.view.IView;
import com.example.yoho.mvp.model.entity.BannerEntity;
import com.example.yoho.mvp.model.entity.HomeGoodsEntity;
import com.example.yoho.mvp.model.entity.RecommendEntity;
import com.example.yoho.mvp.model.entity.UpgradeEntity;

import java.util.List;

import io.reactivex.Observable;

public interface HomeContract {
    interface Model extends IModel{
        Observable<BannerEntity> bannerModel();
        Observable<RecommendEntity> recommendModel(String request);
        Observable<HomeGoodsEntity> homegoodsModel(String request);
        Observable<UpgradeEntity> upgradeModel(String request);
    }
    interface View extends IView{
        void showBanner(List<BannerEntity.Values> bannerEntities);
        void showRecommend(RecommendEntity recommendEntities);
        void showGoods(List<HomeGoodsEntity.Values> homeGoodsEntities);
        void showLoadGoods(List<HomeGoodsEntity.Values> homeGoodEntities);
        void showUpgrade(UpgradeEntity entity);
    }
}
